1. Field of the Invention
The present invention relates to a method and system for compensating for code invariancy in digital communication receivers. More particularly, the present invention compensates for invariancies to transformations such as phase rotation, phase inversion, improperly assumed code rate, and errors introduced during depuncturing in punctured convolutional codes.
2. The Background Art
Referring first to FIG. 1, a communication system having a digital signal transmission and receiving system is illustrated. A transmission portion of the digital signal transmission and receiving system includes an encoder 10, a puncturing module 12, and a modulator 14 providing a modulated signal at a communication channel 16. Similarly, a receiving portion of the digital signal transmission and receiving system includes a demodulator 18, a depuncturing module 20, and a decoder 22.
The encoder 10 may be a convolutional encoder. Convolutional codes typically include redundant symbols to increase the signal to noise ratio. In this manner, the probability of errors introduced during subsequent decoding is minimized. Standard convolutional coding techniques often increase required bandwidth. However, some of the coded bits may be systematically removed in favorable channel conditions through a process called "puncturing".
The puncturing module 12 provides punctured data to the modulator 14. Prior to digital signal transmission, puncturing is typically used to remove redundancy in a codeword. In this manner, symbols are systematically deleted or "punctured". Puncturing may be performed at various rates with respect to the basic unpunctured code. For example, a puncturing rate of 3/4 with respect to a basic rate 1/2 encoder is achieved where two out of every three symbols is punctured. Through the use of puncturing, throughput is substantially increased.
The modulated signal includes an in-phase component and a quadrature component. When the modulated signal is received, after conversion from an analog to a digital signal, each bit is demodulated into the in-phase and quadrature signal components by the demodulator 18 using sine and cosine functions. Various puncturing rates used with various modulators may cause a rotation to take place at the demodulator 18. Moreover, an originally correct symbol pairing can get mis-aligned if symbols are lost due to such a temporary disturbance. This rotated sequence may find a "locked position" without derotating, allowing the sequence received by the decoder 22 to appear to be a valid sequence. Thus, the code may be invariant to such a transformation, such as a phase inversion. In other words, for every codeword within a code, there exists a unique transformed codeword, then the code is considered to be invariant to the transformation.
Signal receiver systems conversely may provide a depuncturing scheme to compensate for the puncturing provided prior to transmission. During depuncturing 20, the exact locations within the incoming symbol stream at which place holder symbols "E" are to be inserted must be known. This is impossible when phase rotation is introduced during demodulation 18. As a result, improper symbol alignment during depuncturing 20 results in improper insertion of these place holder symbols.
The decoder 22 may comprise a Viterbi decoder, which may be used to decode these convolutional codes. The Viterbi decoder, therefore, determines the most likely transmitted code word. However, phase mis-alignment occurring during demodulation 18 is not always recognized by the Viterbi decoder. Moreover, improper symbol alignment resulting during depuncturing 20 introduces further errors into the Viterbi decoder. A need exists for a method for systematically handling such transformations occurring on a received codeword from a digital communication transmitter.
Several techniques are currently used for correcting errors introduced during demodulation. First, a correction technique may be introduced at the demodulator 18 output if the occurrence of the specific rotation is known a priori. The input sequence to the Viterbi decoder, therefore, is properly aligned. However, this mis-alignment cannot usually be predicted. Second, a feedback loop may be provided at the decoder 22 output which examines the output for known data patterns and reverses the effect of the assumed transformation in the absence of these known data patterns by feeding the output to the Viterbi decoder input. However, this method introduces a substantial delay into a digital receiving system, since the absence of these known data patterns may not be recognized until a later stage in the digital receiving system. A need exists for a system for compensating for transformations introduced during demodulation which eliminates such a delay without requiring knowledge of such transformations a priori.